package cn.com.nes.site.entity.bo.ope;

import cn.com.nes.mybatis.agent.ope.entity.IsEquipmentInfo;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 设备信息保存业务模型
 */
@Data
public class EquipmentInfoSaveBo {

    private Long id;

    /**
     * 设备id
     */
    private String sbId;

    /**
     * 厂商id
     */
    private String manufactureId;

    /**
     * 设备协议id
     */
    private String protocolId;

    /**
     * 地点id
     */
    private String ddId;

    /**
     * 合同编号
     */
    private String htbh;

    /**
     * 设备类型
     */
    private String sblxId;

    /**
     * 设备序列号
     */
    private String sbxlh;

    /**
     * 生产订单号
     */
    private String scddh;

    /**
     * 压缩机编号
     */
    private String ysjbh;

    /**
     * 无线设备id
     */
    private String wxId;

    /**
     * 经度
     */
    private BigDecimal jd;

    /**
     * 纬度
     */
    private BigDecimal wd;

    /**
     * 设备照片,使用";"隔开
     */
    private String images;

    /**
     * 绑定状态:0:未绑定;1:绑定
     */
    private Integer bdzt;

    /**
     * 调试完成日期
     */
    private Date tswcrq;

    /**
     * 调试状态
     */
    private Integer tszt;

    /**
     * 备注
     */
    private String bz;

    /**
     * 是否删除:1:表示删除，0:表示未删除
     */
    private Integer sfsc;

    /**
     * 创建时间
     */
    private Date cjsj;

    /**
     * 修改时间
     */
    private Date xgsj;

    /**
     * 数据来源
     */
    private String sjly;

    /**
     * 设备描述
     */
    private String sbms;

    /**
     * plc机器类型 1-为主控机 ，2-非主控机（比如热泵）
     */
    private Integer isMaster;

    /**
     * 上级设备id
     */
    private String sbPid;

    /**
     * 别名
     */
    private String alias;

    /**
     * pc端plc页面的主页面的html
     */
    private String htmlUrl;

    /**
     * 数据同步时间
     */
    private Date v1;

    /**
     * 生产批次
     */
    private String scpc;

    /**
     * 设备用途
     */
    private String sbyt;

    /**
     * 代理商id
     */
    private String agentId;

    /**
     * 是否公开
     */
    private Integer isOpen;

    /**
     * PLC机组设备,是否算作机组数量 0-否; 1-是
     */
    private Integer isUnitsNumber;

    /**
     * 是否集控 0-否;1-是
     */
    private Integer isCenterControl;

    /**
     * 每台设备压缩机数量
     */
    private Integer compressCount;

    /**
     * 海拔
     */
    private BigDecimal hb;

    /**
     * 是否主机
     */
    private Integer sfzj;

    /**
     *
     */
    private Date serviceStartDate;

    /**
     *
     */
    private Date expiredDate;

    /**
     * 修改人
     */
    private String upOper;

    /**
     * 质保期
     */
    private Date zbq;

    /**
     * 创建人
     */
    private String createOper;

    /**
     * 经销商名称
     */
    private String dealerName;

    /**
     * 经销商电话
     */
    private String dealerPhone;

    /**
     * 用户所属公司ID
     */
    private String userCompanyId;
    /**
     * 转换为设备信息Do
     * @return
     */
    public IsEquipmentInfo convertToEquipmentInfoDo() {
        IsEquipmentInfo equipmentInfo = new IsEquipmentInfo();
        equipmentInfo.setId(this.id);
        equipmentInfo.setSbId(this.sbId);
        equipmentInfo.setDdId(this.ddId);
        equipmentInfo.setManufactureId(this.manufactureId);
        equipmentInfo.setHtbh(this.htbh);  // todo 不确定合同编号怎么获取
        equipmentInfo.setSblxId(this.getSblxId());
        equipmentInfo.setSbxlh(this.getSbxlh());
        equipmentInfo.setJd(this.jd);
        equipmentInfo.setWd(this.getWd());
        equipmentInfo.setSjly(this.getSjly());
        equipmentInfo.setZbq(this.getZbq());
        equipmentInfo.setBz(this.bz);
        equipmentInfo.setImages(this.images);
        equipmentInfo.setAgentId(this.agentId);
        equipmentInfo.setCjsj(this.cjsj);
        equipmentInfo.setCreateOper(this.createOper);
        equipmentInfo.setXgsj(this.xgsj);
        equipmentInfo.setUpOper(this.upOper);
        equipmentInfo.setSfsc(this.sfsc);
        return equipmentInfo;
    }

}
